PMPI: High-Level Message Passing in Fortran 77 and C
نویسندگان
چکیده
The Message{Passing Interface (MPI) provides support for portable parallel programs, but often proves too complex to be convenient. In this paper we propose a higher{level Programmer's Message{ Passing Interface (PMPI) to the standard MPI libraries that is better suited to the needs of application programmers. PMPI largely hides the binding of message{passing routines to the programming language. It has fewer operations than MPI, and with simpler arguments. Our high{level interface has been implemented by a preprocessor for C and Fortran77 programs, which expands PMPI source statements into corresponding MPI calls. As an automatic tool, the preprocessor substantially reduces the development cycle of message{passing programs. For instance, the PMPI versions of several benchmarks are signiicantly shorter and easier to understand than the MPI originals. We also quote performance gures for the PMPI versions of two of NAS parallel benchmarks on a Cray T3D showing the feasibility of our approach.
منابع مشابه
Deterministic Parallel FORTRAN
We describe Fortran M, message-passing extensions to Fortran 77 that provide deterministic execution and information hiding while preserving desirable properties of message passing.
متن کاملObject Oriented MPI (OOMPI): A Class Library for the Message Passing Interface
Using the Message Passing Interface (MPI) in C++ has been difficult to this point because of the lack of suitable C++ bindings and C++ class libraries. The existing MPI standard provides language bindings only for C and Fortran 77, precluding their direct use in object oriented programming. Even the proposed C++ bindings in MPI-2 are at a fairly low-level and are not directly suitable for objec...
متن کاملThe Design and Evolution of the MPI-2 C++ Interface
The original specification for the Message Passing Interface (MPI) included language bindings for C and Fortran 77. C++ programs that used MPI were thus required to use the C bindings. With MPI-2, a C++ interface for all of MPI is specified. In this paper, we describe the design of the C++ interface for MPI and provide some of the history and motivations behind the design decisions.
متن کاملAutomatic Parallelization by Pattern-Matching
We present the top{down design of a new system which performs automatic parallelization of numerical Fortran 77 or C source programs for execution on distributed{memory message { passing multi-processors such as e.g. the INTEL iPSC860 or the TMC CM{5. The key idea is a high{level pattern{matching approach which in some useful way permits partial restructuring of a wide class of numerical progra...
متن کاملSUPERB and Vienna Fortran
Distributed-memory systems are powerful tools for solving large-scale scientiic and engineering problems. However these machines are diicult to program since the data have to be distributed across the processors and message-passing operations must be inserted for communicating non-local data. In this paper, we discuss SUPERB and Vienna Fortran, two related developments with the objective of pro...
متن کامل